// app/adapters/application.js
import DS from 'ember-data';
import {
  inject as service
} from '@ember/service';
import {
  computed
} from '@ember/object';

export default DS.RESTAdapter.extend({
  //使用默认序列化适配器 ,自定义序列化见app/serializers/application.js
  defaultSerializer: '-default',
  //使用session服务
  session: service(),
  headers: computed('session.authToken', function () {
    return [{
      'API_KEY': this.session.authToken
    }, {
      'ANOTHER_HEADER': 'Some header value'
    }]
  }),
  //使用观察者之外的数据document.cookie.match(/apiKey\=([^;]*)/)
  //调用voliatile()方法
  headers: computed(function() {
    return {
      'API_KEY': get(document.cookie.match(/apiKey\=([^;]*)/), '1'),
      'ANOTHER_HEADER': 'Some header value'
    };
  }).volatile(),
  //本地访问使用namespace
  namespace: 'api',
  //域名访问使用HOST
  host: 'https://www.github.com',
  //
  init() {
    //针对发送消息体的头部进行定制
    this.set('headers', {
      'API_KEY': 'secret key',
      'ANOTHER_HEADER': 'Some header value'
    });
  }
});
